package com.yusvn.scm.goods.base.service;

import cn.hutool.core.util.ObjectUtil;
import com.jfinal.kit.Kv;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Page;
import com.jfinal.plugin.activerecord.Record;
import com.yusvn.scm.common.BaseService;
import com.yusvn.scm.common.constant.Const;
import com.yusvn.scm.common.kit.RetKit;

public class ScmBhspService extends BaseService {


    /**
     * 查询不补商品
     * @param kv
     * @return
     */
    public Page<Record> selectPzbhList(Kv kv){
        kv.set("cid", getCid());
        kv.set(selectPz()); //商品属性动态字段
        kv.set("qx_ssmd", getZcmdqx(kv.getStr("userCode"))); //用户所属门店权限
        kv.set("qx_pp", getPpqx(kv.getStr("userCode"))); //用户品牌权限
        kv.set("selectNf",kv.get("selectNf[]"));
        kv.set("selectJj",kv.get("selectJj[]"));
        kv.set("selectDl",kv.get("selectDl[]"));
        kv.set("selectZl",kv.get("selectZl[]"));
        kv.set("selectXl",kv.get("selectXl[]"));
        kv.set("selectXb",kv.get("selectXb[]"));
        kv.set("selectPp",kv.get("selectPp[]"));
        kv.set("selectKhBat",kv.get("selectKhBat[]"));
        Object o = kv.get("timeSelect[]");
        if (!ObjectUtil.isEmpty(o)){
            String[] arr = (String[]) o;
            for (int i =0; i<arr.length; i++){
                kv.set("timeSelect"+i,arr[i]);
            }
        }

        Page<Record> pzbhList = Db.use(Const.SCMDB).template("scmBhsp.selectPageKh",kv).paginate(getPage(kv),getLimit(kv));


        return pzbhList;
    }

    /**
     * 修改单条状态
     * @param kv
     * @return
     */
    public RetKit updateZt(Kv kv){

       int cnt = Db.use(Const.SCMDB).update("update scm_bhsp set zt = ? where mdid = ? and spid = ? and ysid = ?",
                kv.get("zt"), kv.get("mdid"), kv.get("spid"), kv.get("ysid"));

      Integer i = (Integer) kv.get("zt");
      if (i == 1 && cnt > 0){
          return RetKit.ok("停补成功");
      }
      if (i == 0 && cnt > 0){
          return RetKit.ok("启用成功");
      }
      return RetKit.fail("操作失败");
    }
    /**
     * 启用或停用筛选修改状态
     */
    public RetKit qySxsp(Kv kv){
        kv.set("cid", getCid());
        kv.set(selectPz()); //商品属性动态字段
        kv.set("qx_ssmd", getSsmdqx(kv.getStr("userCode"))); //用户所属门店权限
        kv.set("qx_pp", getPpqx(kv.getStr("userCode"))); //用户品牌权限

        int cnt = Db.use(Const.SCMDB).template("scmBhsp.updateSelectBbsp",kv).update();
        Object zt = kv.get("zt");

        if (cnt > 0 && (Integer) zt == 0) {
            return RetKit.ok("筛选启用成功");
        }
        if (cnt > 0 && (Integer) zt == 1){
            return RetKit.ok("筛选停用成功");
        }
        return RetKit.fail("操作失败");
    }

    /**
     * 勾选停用
     * @param kv
     * @return
     */
    public RetKit qyGxsp(Kv kv){
        kv.set("cid", getCid());
        kv.set("qx_ssmd", getSsmdqx(kv.getStr("userCode"))); //用户所属门店权限
        kv.set("qx_pp", getPpqx(kv.getStr("userCode"))); //用户品牌权限
        int cnt = Db.use(Const.SCMDB).template("scmBhsp.updateGxBbsp", kv).update();
        Object zt = kv.get("zt");
        if (cnt > 0 && (Integer) zt == 0){
            return RetKit.ok("启用勾选项成功");
        }
        if (cnt > 0 && (Integer) zt == 1){
            return RetKit.ok("停用勾选项成功");
        }
        return RetKit.fail("操作失败");
    }


    public RetKit tyQbsp(Kv kv){
        kv.set("cid", getCid());
        kv.set("qx_ssmd", getSsmdqx(kv.getStr("userCode"))); //用户所属门店权限
        kv.set("qx_pp", getPpqx(kv.getStr("userCode"))); //用户品牌权限
        Db.use(Const.SCMDB).template("scmBhsp.updateTyQbsp",kv).update();
        return RetKit.ok();
    }
}
